﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects.DataClasses;
using System.ComponentModel;

namespace CBE.Model
{
    public partial class Compras : IDataErrorInfo
    {

        public Compras()
            : base()
        {
            this.ID_Compra = Guid.NewGuid();
            this.Activo = true;

            this.FechaRecepcion = DateTime.Now.Date;
        }

        #region IDataErrorInfo Members

        public string Error
        {
            get { throw new NotImplementedException(); }
        }

        public string this[string columnName]
        {
            get
            {
                String error = null;

                if (columnName == "NroComprobante" && String.IsNullOrEmpty(NroComprobante))
                {
                    error = "El campo Nro. Comprobante es de ingreso obligatorio.";
                }
                else if (columnName == "ImporteCompra" && ImporteCompra == 0)
                {
                    error = "El campo Monto de la Compra es de ingreso obligatorio.";
                }
                else if (columnName == "Proveedores" && Proveedores == null)
                {
                    error = "El campo Proveedor es de ingreso obligatorio.";
                }
                else if (columnName == "FechaRecepcion" && FechaRecepcion == DateTime.MinValue)
                {
                    error = "El campo Fecha de Recepción es de ingreso obligatorio.";
                }
                else if (columnName == "ProductosCompra" && ProductosCompra.Count == 0)
                {
                    error = "Debe ingresar al menos un producto relacionado a la compra.";
                }

                return error;
            }
        }

        #endregion
    }
}
